package com.macro.mall.mapper;

import com.macro.mall.model.CurCourseType;
import com.macro.mall.model.TypeLevel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author gaodx
* @create 2020-08-11 15:31
**/
@Mapper
public interface CurCourseTypeMapper {

    /**
    * 保存
    * 所有字段全都保存
    * @param curCourseType
    * @return 保存的数量
    */
    int saveCurCourseType(CurCourseType curCourseType);

    /**
    * 保存
    * 判断为空保存
    * @param curCourseType
    * @return
    */
    int saveCurCourseTypeSelective(CurCourseType curCourseType);

    /**
    * 根据ID删除
    * @param id 主键ID
    * @return 删除记录数
    */
    int deleteCurCourseTypeById(String id);

    /**
    * 更新所有字段
    * @param curCourseType
    * @return 保存后的对象包括ID
    */
    int updateCurCourseType(CurCourseType curCourseType);

    /**
    * 更新
    * 判断为空保存更新字段
    * @param curCourseType
    * @return
    */
    int updateCurCourseTypeSelective(CurCourseType curCourseType);

    /**
    * 按ID查询
    * @param id 主键ID
    * @return CurCourseType
    */
    CurCourseType selectCurCourseTypeById(String id);

    /**
    * 按条件查询全部的
    * @param curCourseType 查询条件
    * @return  List<CurCourseType>
    */
    List<CurCourseType> selectAllByCurCourseType(CurCourseType curCourseType);


    List<TypeLevel> selectLevel();

    List<CurCourseType> selectAllByParentId(CurCourseType curCourseType);

    List<CurCourseType> selectAllByDeptId(@Param("deptId") String deptId);
}
